package com.lvy.hczn.front.business.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * netty-socketio 消息推送格式
 *
 * @author yw
 * @date 2022-03-09 14:16:39
 **/
@Data
public class MessageInfo<T> implements Serializable {

    /**
     * 来源客户端ID
     */
    private String clientId;

    /**
     * 目标客户端ID
     */
    private String targetId;

    /**
     * 消息类型
     */
    private String type;

    /**
     * 数据信息
     */
    private T data;

    /**
     * 消息内容
     */
    private String msg;

    /**
     * 0:正常，1:异常
     */
    private int code;

    /**
     * 响应返回web的流程编号，对应up_or_down_policy的process_state
     */
    private Integer processState;

    /**
     * 响应返回web的流程类型对应up_or_down_policy的process_type
     */
    private Integer processType;

    /**
     * 货箱编号
     */
    private String boxCode;

    /**
     * 实际称重重量
     */
    private BigDecimal totalWeight;

    /**
     * 实际货箱应有的重量
     * （称重重量不符时，提示这个告诉web，货箱实际应该有多少重量，而称重时，重量多余或少于实际重量，分拣拿出的重量错误）
     */
    private BigDecimal actWeight;

    /**
     * 点击称重按钮后的实际分拣重量
     */
    private BigDecimal sortWeight;

    /**
     * 仓库号
     */
    private Integer seatId;

    /**
     * 是否wcs按钮触发上架，0：分拣页面按按钮入库，1：按wcs按钮入库
     */
    private boolean upByButton;

    /**
     * 采购入库分拣称重入库单ID，称重成功，则根据入库单ID隐藏称重按钮
     */
    private String warehousingEntryId;

    /**
     * 温区，采购入库，离开缓存位后，根据温区出库空箱
     */
    private String temperatureCode;

    private List<OutboundOrderDetailDto> outboundOrderDetailDtos;
}
